{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h1>DWave Parameter: Chain Strength</h1>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h3>1. Number of reads: Graph Coloring Problem</h3>\n",
    "<p>Simulasi Problem coloring graph pada penjelasan parameter D-Wave, number of reads. Selamat mencoba,</p> \n",
    "<p>referensi: <a url:\"https://www.dwavesys.com/sites/default/files/Guide-2.pdf\">https://www.dwavesys.com/sites/default/files/Guide-2.pdf</a> </p>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import networkx as nx\n",
    "import matplotlib.pyplot as plt\n",
    "import dwave_networkx as dnx\n",
    "from dwave.system.samplers import DWaveSampler\n",
    "from dwave.system.composites import EmbeddingComposite\n",
    "from dwave_networkx.algorithms.coloring import min_vertex_color_qubo"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "sampler = EmbeddingComposite(DWaveSampler())\n",
    "G = nx.Graph()\n",
    "G.add_edges_from([(1, 2), (1, 3), (2, 3), (3, 4), (3, 5), (4, 5), (4, 6), (5, 6), (6, 7)])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<p>Penggunana min_vertex_color_qubo untuk representasi bentuk qubo dari permasalahan graph coloring</p>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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wLx584yO4vRyc3NZtmwZ8fHxJCcn07FjR8LCwujWrRt+fn6lP5F2ZxARMcbOnTvp0qUL6enp1KpVy+g4Tik/P5/k5GQsFgtLly4lICCA0NBQevbsSdWqVa//xFu22NbeXLHCVnAXruF5bj++oCDbfnx2uL15IRWfiHikwsJC2rRpw+DBg4mMjDQ6jlMpKipi48aNWCwWFixYwN13301oaCh9+/a1/x8IWVm2ZcgyMmwPp1erZntkYcAA7cAuImJP77zzDkuXLiU5ORmvS2YaeiKr1crOnTuJj48nPj6eW265hbCwMPr168ddd91ldDy7UvGJiMc5ePAgrVq1YtOmTTRs2NDoOIbav3//+bLLyckhNDSUsLCwizePdTMqPhHxKFarlccff5zAwED+/e9/Gx3HED/99BMJCQnEx8dz6NAh+vbtS1hYGG3atPGI0a+WLBMRjzJnzhyOHj3KSy+9ZHSUMnX8+HEWLlyIxWJh+/btPPXUU4wfP56OHTuWarsgd6IRn4h4jKysLJo1a8bSpUtp1aqV0XEc7vTp0yxdupT4+HjWrVtHly5dCAsLIygoCB8fH6PjGUbFJyIeIyIigho1avD2228bHcVhzp49y6pVq4iPj2f58uW0adOG0NBQgoODtSrNHzxrfCsiHmvlypVs2LCBXbt2GR3F7oqKili/fj0Wi4WFCxdy7733EhoayjvvvEPNmjWNjud0VHwi4vZOnz7N4MGD+eijj6hcubLRcezCarWybds24uPjmTt3LtWrVycsLIytW7dSr149o+M5Nd3qFBG399JLL5GZmcns2bONjnLD9u7de/7xg4KCAkJDQwkNDaVp06ZGR3MZGvGJiFtLS0vDbDa79C3OI0eOkJCQgMVi4aeffiIkJIRZs2bRunVrj3j8wN404hMRt5Wfn0+rVq0YNmwY4eHhRse5JseOHWPBggXEx8eTnp5Oz549CQ0NJTAwEG9vb6PjuTSN+ETEbU2ePJlatWrRv/9l25o6pVOnTrF48WLi4+NZv349jz32GC+++CKPPfYYlSpVMjqe29CIT0Tc0r59+2jbti1paWnUr1/f6DglOnPmDCtXrsRisfD555/Trl07QkND6dGjBzfffLPR8dySik9E3I7VaqVTp0488cQTDB061Og4lyksLCQlJYX4+HgWLVrEfffdR2hoKL179+a2224zOp7b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Q/Ly8li2bBlms5m1a9cSFBREeHg4Xbt29ZiJOiKeRsUn1+To0aO0bNmSuLg4unTpYnSc61JUVMSGDRswm80sXLiQ5s2bExERQa9evbjllluMjiciDqZbnVJqhYWFhIWFnd9jz9X873//O/+53U033URERAQ7duxw+9moInIxFZ+UWmxsLF5eXowaNcroKKWWmZlJfHw8ZrOZI0eOEBYWRmJiIs2bN9fndiIeSrc6pVRWrVrFwIED2bp1K7Vq1TI6zhXl5OSwePFizGYzX331Fd27dyc8PJxOnTrh7e1tdDwRMZiKT67qxx9/JCAgAIvFwqOPPmp0nGIVFhaybt06zGYziYmJtG7dmoiICJ566iluuukmo+OJiBNR8ckVFRQU0LFjR7p27cprr71mdJzLZGRkYDabmTNnDjVr1iQ8PJzQ0FBq165tdDQRcVL6jE+u6PXXX8fX15dXX33V6Cjn/fTTT+c3cz127Bj9+/dn5cqVNG3a1OhoIuICVHxSouXLl5/fPPWKG6aWgVOnTrFo0SLMZjNbtmwhODiYd955hw4dOhieTURci251SrEOHz5Mq1atWLhwIe3btzckQ0FBAWvWrGH27NksX76chx9+mPDwcLp3746vr68hmUTE9an45DJnz56lQ4cOPPXUU7zyyitlem2r1cr27dsxm83Ex8dzxx13EBERQb9+/aih/eZExA50q1MuM2LECKpXr87w4cPL7JqHDx/GYrEwe/ZscnJyCA8PZ926ddxzzz1llkFEPIOKTy6yePFiFixYUCaf62VnZ7NgwQLMZjPp6en07t2badOm0a5dOz1cLiIOo1udct7Bgwd58MEHWbJkCW3atHHINfLz8/n8888xm818/vnndOrUifDwcLp160alSpUcck0RkQup+ASAM2fO0L59e8LCwnjxxRftem6r1Upqaipms5mEhAQaNWpEeHg4ffv25dZbb7XrtURErka3OgWA4cOHU7duXV544QW7nfO77747vyg0QHh4OJs3b+auu+6y2zVERK6Vik9YsGABy5YtY+vWrTf82dpvv/3GvHnzMJvN7N27l5CQEGbPnk3r1q31uZ2IOAXd6vRw+/fvp23btiQlJREQEHBd5zhz5sz5h92Tk5N57LHHCA8P57HHHtNmriLidFR87iwzE+LiID0dsrOhShXw94eBA6FGDfLy8mjbti2R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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "nx.draw(G, with_labels=True, node_color='r')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "Q = min_vertex_color_qubo(G)\n",
    "sampleset = sampler.sample_qubo(Q, num_reads=100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[(1, 1), (2, 2), (3, 0), (4, 2), (5, 1), (6, 0), (7, 1)] -7.0 4\n",
      "[(1, 0), (2, 2), (3, 1), (4, 0), (5, 2), (6, 1), (7, 0)] -7.0 6\n",
      "[(1, 2), (2, 0), (3, 1), (4, 0), (5, 2), (6, 1), (7, 0)] -7.0 3\n",
      "[(1, 2), (2, 0), (3, 1), (4, 0), (5, 2), (6, 1), (7, 2)] -7.0 1\n",
      "[(1, 0), (2, 2), (3, 1), (4, 0), (5, 2), (6, 1), (7, 2)] -7.0 3\n",
      "[(1, 2), (2, 0), (3, 1), (4, 2), (5, 0), (6, 1), (7, 0)] -7.0 1\n",
      "[(1, 0), (2, 2), (3, 1), (4, 2), (5, 0), (6, 1), (7, 0)] -7.0 6\n",
      "[(1, 1), (2, 0), (3, 2), (4, 1), (5, 0), (6, 2), (7, 0)] -7.0 2\n",
      "[(1, 0), (2, 1), (3, 2), (4, 1), (5, 0), (6, 2), (7, 1)] -7.0 5\n",
      "[(1, 1), (2, 0), (3, 2), (4, 0), (5, 1), (6, 2), (7, 1)] -7.0 1\n",
      "[(1, 0), (2, 2), (3, 1), (4, 2), (5, 0), (6, 1), (7, 2)] -7.0 2\n",
      "[(1, 2), (2, 1), (3, 0), (4, 1), (5, 2), (6, 0), (7, 1)] -7.0 1\n",
      "[(1, 1), (2, 2), (3, 0), (4, 1), (5, 2), (6, 0), (7, 1)] -7.0 3\n",
      "[(1, 1), (2, 2), (3, 0), (4, 1), (5, 2), (6, 0), (7, 2)] -7.0 2\n",
      "[(1, 0), (2, 1), (3, 2), (4, 0), (5, 1), (6, 2), (7, 1)] -7.0 8\n",
      "[(1, 2), (2, 1), (3, 0), (4, 1), (5, 2), (6, 0), (7, 2)] -7.0 4\n",
      "[(1, 2), (2, 1), (3, 0), (4, 2), (5, 1), (6, 0), (7, 2)] -7.0 2\n",
      "[(1, 1), (2, 2), (3, 0), (4, 2), (5, 1), (6, 0), (7, 2)] -7.0 4\n",
      "[(1, 2), (2, 1), (3, 0), (4, 2), (5, 1), (6, 0), (7, 1)] -7.0 10\n",
      "[(1, 0), (2, 1), (3, 2), (4, 0), (5, 1), (6, 2), (7, 0)] -7.0 5\n",
      "[(1, 2), (2, 1), (4, 1), (5, 2), (6, 0), (7, 2)] -6.0 1\n",
      "[(1, 0), (2, 2), (3, 1), (5, 2), (6, 0), (7, 1)] -6.0 1\n",
      "[(1, 1), (2, 0), (3, 2), (4, 0), (5, 0), (6, 2), (7, 0)] -6.0 1\n",
      "[(1, 0), (2, 2), (3, 1), (4, 2), (5, 2), (6, 0), (7, 1)] -6.0 1\n",
      "[(1, 1), (2, 0), (3, 2), (4, 2), (5, 0), (6, 1), (7, 2)] -6.0 1\n",
      "[(1, 0), (2, 1), (3, 2), (5, 0), (6, 2), (7, 0)] -6.0 1\n",
      "[(1, 1), (2, 2), (3, 0), (4, 2), (6, 1), (7, 0)] -6.0 1\n",
      "[(1, 2), (2, 1), (3, 0), (4, 0), (5, 1), (6, 2), (7, 0)] -6.0 1\n",
      "[(1, 1), (3, 2), (4, 0), (5, 1), (6, 2), (7, 0)] -6.0 1\n",
      "[(1, 0), (2, 2), (3, 1), (4, 0), (6, 2), (7, 0)] -6.0 2\n",
      "[(1, 0), (2, 2), (3, 1), (4, 2), (6, 0), (7, 1)] -6.0 2\n",
      "[(1, 0), (2, 2), (3, 1), (4, 0), (5, 2), (6, 0), (7, 2)] -6.0 1\n",
      "[(1, 2), (2, 1), (4, 2), (5, 1), (6, 0), (7, 2)] -6.0 1\n",
      "[(1, 2), (2, 1), (3, 0), (4, 1), (5, 1), (6, 0), (7, 1)] -6.0 1\n",
      "[(1, 0), (2, 1), (3, 2), (4, 0), (5, 1), (6, 0), (7, 1)] -6.0 2\n",
      "[(1, 2), (2, 1), (3, 0), (4, 2), (6, 1), (7, 0)] -6.0 3\n",
      "[(1, 1), (2, 2), (3, 0), (4, 2), (6, 1), (7, 0)] -6.0 1\n",
      "[(1, 2), (2, 0), (3, 1), (4, 2), (6, 1), (7, 0)] -6.0 1\n",
      "[(1, 0), (2, 2), (3, 1), (4, 2), (6, 0), (7, 2)] -6.0 1\n",
      "[(1, 1), (2, 2), (3, 0), (4, 2), (5, 2), (6, 1), (7, 0)] -6.0 1\n",
      "[(1, 1), (2, 0), (3, 2), (4, 1), (6, 2), (7, 0)] -6.0 1\n",
      "[(1, 2), (2, 0), (3, 1), (5, 2), (6, 1), (7, 0)] -6.0 1\n"
     ]
    }
   ],
   "source": [
    "for sample, energy, num_occ in sampleset.data(['sample', 'energy', 'num_occurrences']):\n",
    "    colors_chosen = [i for i in sample if sample[i] == 1]\n",
    "    print(colors_chosen, energy, num_occ)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[(1, 1), (2, 2), (3, 0), (4, 2), (5, 1), (6, 0), (7, 1)]\n"
     ]
    }
   ],
   "source": [
    "for sample, energy, num_occ in sampleset.data(['sample', 'energy', 'num_occurrences']):\n",
    "    colors_chosen = [i for i in sample if sample[i] == 1]\n",
    "    print(colors_chosen)\n",
    "    break;\n",
    "\n",
    "color_map = []\n",
    "for n,v in colors_chosen:\n",
    "    if v == 0: \n",
    "        color_map.append('cyan')\n",
    "    elif v== 1:\n",
    "        color_map.append('lightgreen')\n",
    "    else:\n",
    "        color_map.append('red')\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "nx.draw(G, with_labels=True, \n",
    "        node_color=[mapper.to_rgba(i) \n",
    "                    for j,i in colors_chosen],)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
